We proposed, implemented and evaluated \textit{parallel adaptive memory scheduling} (PAMS), a memory controller design that combines the ideas of \textit{thread ranking} and \textit{close-page}. PAMS ranks threads with \textit{niceness values}, and prioritize these threads based on \textit{niceness values}, ultimately resulting in less interference. We carefully devised \textit{band-level parallelism} and \textit{row-buffer locality} as metrics for \textit{niceness values}. In addition, our scheduler adopts the idea of close-page algorithm so as to utilize potential row-buffer hits. \\

Our evaluation results show that PAMS outperforms the close-page controller, which is the best memory controller among the baseline samples, in every aspect. Our quantitative evaluation demonstrate that PAMS achieves the best combination of performance, energy and fairness compared to other baseline scheduling techniques. Hence, we conclude that PAMS is a scalable, adaptive, and high-performance DRAM scheduling solution. 